<?php 
namespace Admin\Controller;
use  Common\Model\Article;
/**
* 文章控制器
*/
class ArticleController extends CommonController{
	private $data;
	public function __init(){
		$this->data=new Article;
		parent::init();
	}


	// 主页面引入
	public function index(){
		// 分页显示  数据统计
		$allNum=$this->data->where('is_recycle',1)->count();
		// 分页方法
		if($allNum>7){
			$page=Page::row(7)->make($allNum);
			// 分配分页
			View::with('page',$page);
		}
		// 显示文章
		$allData=$this->data->join('category','category_cid','=','cid')->field('aid','title','sendtime','updatetime','cname')->orderBy('sendtime','DESC')->limit(Page::limit())->where('is_recycle',1)->get();
		// 分配数据
		View::with('allData',$allData);
		// 模板
		View::make();
	}



	// 添加页面引入
	public function add(){
		// 获取标签
		$tagData=Db::table('tag')->get();
		// 分配
		View::with('tagData',$tagData);

		// 获取分类
		$cateData=Db::table('category')->get();
		// 树状图
		$cateData=Data::tree($cateData,'cname');
		// 分配
		View::with('cateData',$cateData);

		// 判断提交
		if(IS_POST){
			// 跳转到模板
			$result=$this->data->store();
			// 判断返回结果
			if(!$result){
				View::error('添加失败');
			}else{
				View::success('添加成功','index');
			}
		}
		// 模板
		View::make();
	}




	// 编辑页面引入
	public function edit(){
		// 判断post提交
		if(IS_POST){
			// 跳转模型
			$result=$this->data->edit();
			// 返回结果
			if(!$result){
				View::error($this->data->getError());
			}else{
				View::success('修改成功','index');
			}
		}



		// 获取序号
		$aid=Q('get.aid',0,'intval');
		// 原内容
		$arcData=$this->data->join('article_data','aid','=','article_aid')->where('aid',$aid)->find();
		// 分配数据
		View::with('arcData',$arcData);



		// 获取所有标签  显示在页面
		$tagData=Db::table('tag')->get();
		// 分配数据
		View::with('tagData',$tagData);
		// 获取选中标签  默认选中
		$tags=Db::table('article_tag')->where('article_aid',$aid)->lists('tag_tid');
		View::with('tags',$tags);



		// 获取所有分类
		$cateData=Db::table('category')->get();
		$cateData=Data::tree($cateData,'cname');
		View::with('cateData',$cateData);
		// 模板
		View::make();
	}




	// 回收站页面引入
	public function recycle(){
		// 与主页一致  只有字段is_recycle 不一样
		// 分页
		$allNum=$this->data->where('is_recycle',0)->count();
		// 分页方法
		if($allNum>7){
			$page=Page::row(7)->make($allNum);
			// 分配分页
			View::with('page',$page);
		}
		// 显示文章
		$allData=$this->data->join('category','category_cid','=','cid')->field('aid','title','sendtime','updatetime','cname')->orderBy('sendtime','DESC')->limit(Page::limit())->where('is_recycle',0)->get();
		// 分配数据
		View::with('allData',$allData);
		// 模板
		View::make();
	}


	// 删除到回收站
	public function delrecycle(){
		// 获得序号
		$aid=Q('get.aid',0,'intval');
		// 修改属性 is_recycle 为0;
		$result=$this->data->where('aid',$aid)->update(array('is_recycle'=>0));
		// 判断结果
		if(!$result){
			View::error('删除失败');
		}else{
			View::success('文件已移至回收站','index');
		}
	}



	// 还原文件
	public function change(){
		// 获得序号
		$aid=Q('get.aid',0,'intval');
		// 修改属性 is_recycle 为0;
		$result=$this->data->where('aid',$aid)->update(array('is_recycle'=>1));
		// 判断结果
		if(!$result){
			View::error('还原失败');
		}else{
			View::success('还原成功','index');
		}
	}




	// 彻底删除
	public function del(){
		// 获取序号
		$aid=Q('get.aid',0,'intval');
		// 删除文章表
		Db::table('article')->where('aid',$aid)->delete();
		// 删除中间表
		Db::table('article_tag')->where('article_aid',$aid)->delete();
		// 删除内容表
		Db::table('article_data')->where('article_aid',$aid)->delete();
		// 删除成功  判断回收站是否有文件
		$result=Db::table('article')->where('is_recycle',0)->get();
		// 判断结果
		if(!$result){
			View::success('删除成功！回收站已空','index');
		}else{
			View::success('删除成功','recycle');
		}
		
	}
}


 ?>